Server virtualization allows dynamic allocation of compute and storage resources of a physical data center based on customer's needs. Network virtualization extends virtualization technologies across a data center infrastructure and delivers for networking what has been delivered for compute and storage.
Network virtualization platform architecture includes several components or planes. Data plane is used to carry the network user packet traffic. Control plane is used to carry signaling traffic. Management plane is used to perform administrative tasks and to interface with human administrators.
The data plane includes host machines' virtualization software (e.g., hypervisors) that provides logical switches, logical routers, firewalls, etc. The control plane includes a cluster of control servers, which are used to program the logical switches, logical routers, etc. The management plane includes a cluster of management nodes that interface to cloud users through a set of application programming interfaces (APIs) and user interfaces (UIs).
Each one of these components (or planes) of the network virtualization platform architecture is implemented by a combination of software, firmware, and hardware provided by different vendors and entities. There is often a need to upgrade the software and roll out new versions, bug fixes, implement upgrades, etc., for different components of the network virtualization platform. In the past, software upgrades were implemented in an ad-hoc fashion, without giving an administrator much control over the sequence of upgrades, troubleshooting of the issues encountered, or receiving uniform and concise status and progress reports.